Computer systems often include dynamic random access memory (DRAM) integrated circuits (ICs) and magnetic storage disks as part of their read/writeable storage subsystem. DRAM supports high-performance random access at small block granularity (e.g., 8 bit bytes), but is limited in its capacity, consumes power, and is volatile (i.e., information stored there is lost if power goes out). On the other hand, magnetic storage disks have larger capacity and are non-volatile, but deliver poor data access performance.
Consequently, the overall performance of a single server with DRAM and hard disks is limited, requiring multiple servers and higher operating costs to meet the performance demands of application workloads.
It is desirable to reduce server count and operating costs by increasing the performance of a single server by providing alternatives to DRAM and magnetic disks in the read/writeable storage subsystem of computer systems.